package com.bluedot.www.core.pojo.DO;

import java.io.Serializable;
import java.sql.Date;
import java.sql.Timestamp;

/**
 * <p>
 * 用户实体
 * </p>
 *
 * @author zhouxuan
 * @since 2021-08-07
 */
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户编号
     */
    private Long id;

    /**
     * 账户名（字母、数字组合），4~15，用户注册时自动生成一个账户，登陆后可以修改
     */
    private String account;

    /**
     * 手机号
     */
    private String phoneNum;

    /**
     * 密码，不能有空格(大小写字母，数字，不包括特殊字符)，至少8~20字符
     */
    private String password;

    /**
     * 0:表示普通用户，1:表示心理咨询师，2：表示管理员，3：超级管理员
     */
    private Integer usertype;

    /**
     * 性别(0：男， 1：女)
     */
    private Integer gender;

    /**
     * 邮箱格式，30个字符以内，不可修改
     */
    private String email;

    /**
     * 头像链接
     */
    private String portrait;

    /**
     * 生日（年龄）格式：2021-07-24
     */
    private Date birthday;

    /**
     * 用户姓名
     */
    private String name;

    /**
     * 用户状态（0：表示正常，1：表示被封禁）
     */
    private Integer status;

    /**
     * 逻辑删除，0：未删除，1：已删除
     */
    private Integer isDeleted;

    /**
     * 兴趣爱好
     */
    private String interest;

    /**
     * 职业
     */
    private String professional;

    /**
     * 创建时间
     */
    private Timestamp gmtCreate;

    /**
     * 修改时间
     */
    private Timestamp gmtModified;

    /**
     * 最后一次登录时间
     */
    private Timestamp lastLogin;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getPhoneNum() {
        return phoneNum;
    }

    public void setPhoneNum(String phoneNum) {
        this.phoneNum = phoneNum;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getUsertype() {
        return usertype;
    }

    public void setUsertype(Integer usertype) {
        this.usertype = usertype;
    }

    public Integer getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPortrait() {
        return portrait;
    }

    public void setPortrait(String portrait) {
        this.portrait = portrait;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getDeleted() {
        return isDeleted;
    }

    public void setDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    public String getInterest() {
        return interest;
    }

    public void setInterest(String interest) {
        this.interest = interest;
    }

    public String getProfessional() {
        return professional;
    }

    public void setProfessional(String professional) {
        this.professional = professional;
    }

    public Timestamp getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Timestamp gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public Timestamp getGmtModified() {
        return gmtModified;
    }

    public void setGmtModified(Timestamp gmtModified) {
        this.gmtModified = gmtModified;
    }

    public Timestamp getLastLogin() {
        return lastLogin;
    }

    public void setLastLogin(Timestamp lastLogin) {
        this.lastLogin = lastLogin;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", account=" + account +
                ", phoneNum=" + phoneNum +
                ", password=" + password +
                ", usertype=" + usertype +
                ", gender=" + gender +
                ", email=" + email +
                ", portrait=" + portrait +
                ", birthday=" + birthday +
                ", name=" + name +
                ", status=" + status +
                ", isDeleted=" + isDeleted +
                ", interest=" + interest +
                ", professional=" + professional +
                ", gmtCreate=" + gmtCreate +
                ", gmtModified=" + gmtModified +
                ", lastLogin=" + lastLogin +
                "}";
    }
}
